package 牛客.二分查找_排序;

public class BM22比较版本号 {

    public int compare(String version1, String version2) {
        //双指针
        int m=version1.length();
        int n=version2.length();

        int i=0;
        int j=0;
        while (i<m || j<n) {
            int x=0;
            for (; i<m && version1.charAt(i)!='.' ; i++) {
                x=x*10+version1.charAt(i)-'0';
            }
            i++;//跳过 .

            int y=0;
            for (;j<n && version2.charAt(j)!='.' ;j++) {
                y=y*10+version2.charAt(j)-'0';
            }
            j++;//跳过 .

            if (x!=y) {
                return x>y? 1: -1;
            }
        }
        return 0;

    }

    public int compare1(String version1, String version2) {
        // write code here
        // 注意 . 为转义字符，需要加 反斜杠
        String[] split1 = version1.split("\\.");
        String[] split2 = version2.split("\\.");

        for (int i = 0; i <split1.length || i<split2.length ; i++) {
            int x=0;
            int y=0;
            if (i<split1.length) {
                //这个赋值能成功 是基于字符串内容是数字！！
                x=Integer.parseInt(split1[i]);
            }
            if (i<split2.length) {
                y=Integer.parseInt(split2[i]);
            }
            if (x>y) {
                return 1;
            }
            if (x<y) {
                return -1;
            }
        }
        return 0;
    }

    public static void main(String[] args) {
        String a="ssss";
        String[] as = a.split("a");
        for (String str:as) {
            System.out.println(str);
        }
        System.out.println(a.charAt(0));
        System.out.println(a.charAt(0)-'a');//两个字符相减得它们的差值

        int num=Integer.parseInt("8");
        System.out.println(num);//字符串中内容为数字时才可以转换成功

        //int num2=Integer.parseInt("a");//转换失败，会报错
        //System.out.println(num2);

        String str ="3";
        int i = Integer.parseInt(str);
        System.out.println(i);//输出3






    }
}
